package done.easy_401_500;

import lombok.extern.slf4j.Slf4j;
import org.junit.Test;

/**
 * 441. Arranging Coins 排列硬币
 * <p>
 * 你总共有 n 枚硬币，你需要将它们摆成一个阶梯形状，第 k 行就必须正好有 k 枚硬币。
 * 给定一个数字 n，找出可形成完整阶梯行的总行数。
 * n 是一个非负整数，并且在32位有符号整型的范围内。
 * <p>
 * 示例 1:
 * n = 5
 * 硬币可排列成以下几行:
 * ¤
 * ¤ ¤
 * ¤ ¤
 * 因为第三行不完整，所以返回2.
 *
 * @author 大硕
 * 2019-04-02 8:16 AM
 **/
@Slf4j
public class ArrangingCoins {

    @SuppressWarnings("all")
    public int arrangeCoins(int n) {
        // 190402 first
        return -1;
    }

    @Test
    public void test() {
        log.info("{}", arrangeCoins(6));
    }
}




























/*
public int arrangeCoins(int n) {
    int i = 1;

    // 从总数中扣除递增的 i = (1, 2, 3, 4, 5 ...)
    while (n >= i) {
        n -= i;
        i++;
    }
    return i - 1;
}
*/
